import { name } from './package.json'
console.log('name', name)
// import typescript from 'rollup-plugin-typescript2'
import vuePlugin from 'rollup-plugin-vue'
// import css from 'rollup-plugin-css-only'
// import scss from 'rollup-plugin-scss'
// import styles from "rollup-plugin-lib-styles"
// import sass from 'rollup-plugin-sass'
import postcss from 'rollup-plugin-postcss'
// 如果依赖模块中存在 es 模块，需要使用 @rollup/plugin-node-resolve 插件进行转换
import nodeResolve from '@rollup/plugin-node-resolve'
// 引入common模块，https://www.nuomiphp.com/t/61587d9ff975a0507c0e5401.html
import commonjs from "@rollup/plugin-commonjs"
// 引入配置别名的插件
import alias from '@rollup/plugin-alias'
// 引入替换字符插件
// import replace from '@rollup/plugin-replace'
// 删除指定目录
import clear from 'rollup-plugin-clear'
// 解释代码中的import.meta.glob
import importMetaGlob from 'rollup-plugin-import-meta-glob'
import path from 'path'
// 识别图像文件
import image from "@rollup/plugin-image"
// 自定义组件，复制文件夹并替换字符串
// import myPlugins from './myPlugins.js'



const file = (type) => `components_dist/${name}.${type}.js`

export { // 这里将 file 方法 和 name 导出
  file,
  name
}

// const overrides = {
//   compilerOptions: { declaration: true }, // 是否创建 typescript 声明文件
//   exclude: [ // 排除项
//     'node_modules',
//     'src/App.vue',
//     'src/main.ts'
//   ]
// }

export default {
  input: './src/components_source/index.js',
  output: {
    name,
    dir: 'components_dist/lib',
    // file: file('esm'),
    format: 'es', // 编译模式
  },
  plugins: [
    image(),
    // myPlugins(),
    nodeResolve(), 
    // typescript({ tsconfigOverride: overrides }), 
    vuePlugin(), 
    // css({ output: 'bundle.css' }),
    // scss(),
    // styles(),
    // sass(),
    postcss(),
    commonjs(),
    clear({
      targets: ['components_dist/lib']
    }),
    alias({
      entries:[
        {
          find:'@',replacement: path.resolve(__dirname, './src')
        }
      ]
    }),
    importMetaGlob(),
  ],
  external: ['vue'] // 依赖模块
}